#ifndef RAT_SCENEMANAGER_H
#define RAT_SCENEMANAGER_H

#include <vector>
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <sstream>

#include "RAT_EntityManager.h"
#include "RAT_Scene.h"

namespace RAT_ENGINE
{
	class RAT_SceneManager
	{
	public:
		RAT_SceneManager();
		~RAT_SceneManager();

		void Init(RAT_EntityManager* argEntityManager, std::string argScenesFileURL);
		void CleanUp();

		RAT_EntityManager* GetEntityManager() const;
		std::vector<RAT_Scene*> GetScenes() const;
		RAT_Scene* GetScene(int argID) const;
		RAT_Scene* GetScene(std::string argSceneFileURL) const;

		void AddScene(RAT_Scene* argScene);

		void PrintIO();
	private:
		RAT_EntityManager* entityManager;

		std::vector<RAT_Scene*> scenes;

		void LoadScene(std::string argSceneFileURL);
	};
}

#endif